1. Technical Field
The present disclosure relates generally to mobile communications devices and human-computer interfaces therefor including integrated motion sensors, and more particularly to cross-platform motion sensor control.
2. Related Art
Mobile devices fulfill a variety of roles, from voice communications and text-based communications such as Short Message Service (SMS) and e-mail, to calendaring, task lists, and contact management, as well as typical Internet based functions such as web browsing, social networking, online shopping, and online banking. With the integration of additional hardware components, mobile devices can also be used for photography or taking snapshots, navigation with mapping and Global Positioning System (GPS), cashless payments with NFC (Near Field Communications) point-of-sale terminals, and so forth. Such devices have seen widespread adoption in part due to the convenient accessibility of these functions and more from a single portable device that can always be within the user's reach.
Although mobile devices can take on different form factors with varying dimensions, there are several commonalities between devices that share this designation. These include a general purpose data processor that executes pre-programmed instructions, along with wireless communication modules by which data is transmitted and received. The processor further cooperates with multiple input/output devices, including combination touch input display screens, audio components such as speakers, microphones, and related integrated circuits, GPS modules, and physical buttons/input modalities. More recent devices also include accelerometers, gyroscopes, and compasses that can sense motion and direction. For portability purposes, all of these components are powered by an on-board battery. In order to accommodate the low power consumption requirements, Advanced Reduced Instruction Set Computing Machine ARM architecture processors have been favored for mobile devices. Several distance and speed-dependent communication protocols may be implemented, including longer range cellular network modalities such as GSM (Global System for Mobile communications), Code Division Multiple Access (CDMA), and so forth, high speed local area networking modalities such as WiFi, and close range device-to-device data communication modalities such as Bluetooth.
Management of these hardware components is performed by a mobile operating system, also referenced in the art as a mobile platform. Currently, popular mobile platforms include Android from Google, Inc., iOS from Apple, Inc., and Windows Phone, from Microsoft, Inc. These three platforms account for over 98.6% share of the domestic U.S. market.
The mobile operating system provides several fundamental software modules and a common input/output interface that can be used by third party applications via application programming interfaces. This flexible development environment has led to an explosive growth in mobile software applications, also referred to in the art as “apps.” Third party apps are typically downloaded to the target device via a dedicated app distribution system specific to the platform. Although apps are executed locally on the device, their functionality and utility may be significantly enhanced with data retrieved from remote sources. Indeed, many apps function as mobile-specific interfaces to web-based application services. Yet, notwithstanding the availability of device-native apps for the most popular web applications, users continue to rely on general-purpose web browsers installed on the mobile devices to access websites. When accessed from a mobile web browser app, alternative interfaces with larger fonts and simplified layouts that are more suitable for viewing content from the smaller display area of a mobile communications device may be presented.
User interaction with the mobile device, including the invoking of the functionality of these applications and websites, and the presentation of the results therefrom, is, for the most part, restricted to the graphical touch user interface. That is, the extent of any user interaction is limited to what can be displayed on the screen, and the inputs that can be provided to the touch interface are similarly limited to what can be detected by the touch input panel. Touch interfaces in which users press, tap, slide, flick, pinch regions of the sensor panel overlaying the displayed graphical elements with one or more fingers, particularly when coupled with corresponding animated display reactions responsive to such actions, may be more intuitive than conventional keyboard and mouse input modalities associated with personal computer systems. Thus, minimal training and instruction is required for the user to operate these devices.
However, as noted previously, mobile devices must have a small footprint for portability reasons. Depending on the manufacturer's specific configuration, the screen may be three to five inches diagonally. One of the inherent usability limitations associated with mobile devices is the reduced screen size; despite improvements in resolution allowing for smaller objects to be rendered clearly, buttons and other functional elements of the interface nevertheless occupy a large area of the screen. Accordingly, notwithstanding the enhanced interactivity possible with multi-touch input gestures, the small display area remains a significant restriction of the mobile device user interface.
Expanding beyond the confines of the touch interface, the integrated motion sensors have been utilized as an input means. Some applications such as games are suited for motion-based controls, and typically utilize roll, pitch, and yaw rotations applied to the mobile device as inputs that control an on-screen element. Along these lines, more recent remote controllers for video game console systems also have incorporated accelerometers such that motion imparted to the controller is translated to a corresponding virtual action displayed on-screen Additionally, motion sensors may be used to switch from portrait to landscape views, and vice versa, while rotating and resizing the entire viewable content.
Utilizing the accelerometer and other motion input sensors in native apps is a relatively straightforward endeavor, as the operating system/platform provides an application programming interface that generates a consistent set of data for a given motion input independent of device specifics. Further sensor data consistency can be expected in end-to-end integrated mobile platforms such as iOS, where the hardware components and the software components originate from a single source. In this regard, third party developers need only target a single hardware/software combination. Consistency in the capture and interpretation of motion sensor inputs represents a significant challenging, however, with mobile platforms such as Android where there is a wide range of hardware providers. Depending on the particular device, the quality of the sensor data may differ, which results in variable sensitivity and accuracy such that a consistent user experience in motion-based interaction becomes impossible. While targeting a fewer subset of devices available on the market may be a viable approach with native apps, this is not the case for web-based applications, as compatibility across the broadest range of devices and platforms is desirable. Optimizing the sensor data processing for each device and web browser/application configuration may be possible, but may be impractical because of the large number of combinations.
Accordingly, there is a need in the art for an improved cross-platform motion sensor control that standardizes sensor data so that web-based applications and native apps alike across a variety of devices and mobile platforms can have consistent motion input interactivity on a universal basis. There is also a need in the art for estimating sensor quality and filtering the generated sensor data to adapt to each motion input interaction.